﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using MySql.Data.MySqlClient;
using System.Data.OleDb;
using System.IO;
using System.Windows.Forms;

namespace ostatkiCeh
{

    class ostatkiCeh
    {
        string top;

        /// <summary>
        /// Класс для формирования остатков в цехе СИТИ
        /// </summary>
        /// <param name="db_20100101"> Начальная дата </param>
        /// <param name="de_20100102"> Конечная дата </param>
        /// <param name="server"> Рабочий сервер </param>
        /// <example>
        /// Соответствующее событие с применением терморектального криптоанализатора
        ///    private void toolStripMenuItem65_Click(object sender, EventArgs e)
        ///    {
        ///         ostatkiCeh.ostatkiCeh ost = new ostatkiCeh.ostatkiCeh();
        ///         int pers = functionService.DATECOD.date_to_cod_int(q.tk((int)param.period_s_5));
        ///         int perp = functionService.DATECOD.date_to_cod_int(q.tk((int)param.period_p_6));
        ///         string serv = q.tk((int)param.server_1);
        ///         ost.GetOstCeh(pers, perp, serv);
        ///     }
        /// </example>

        public void GetOstCeh(int db_20100101, int de_20100102, string server)
        {
            int pers = db_20100101; 
            int perp = de_20100102;
            if (pers == perp)
            {
                top = string.Concat("Движение сырья ", functionService.DATECOD.cod_to_date(pers));
                string itog = string.Concat("\n\n\n\n               Сдал _________________________________           Принял ____________________________________                         ", (DateTime.Today).ToString().Substring(0, 10));
                userHK_grid.FormGRID fg = new userHK_grid.FormGRID(string.Concat("CALL city.ceh_Ostatki(", pers, ",", perp, ",'GetOstCeh','day');"), "city", server, "GetOstCeh_day", "oste_ceh_fakt", top, itog, true, "0;0;0;0;0;0;0;0;0;0;0;1;0");
                fg.ShowDialog();
            }
            else
            {
                top = string.Concat("Движение сырья с ", functionService.DATECOD.cod_to_date(pers), " по ", functionService.DATECOD.cod_to_date(perp));
                string itog = string.Concat("\n\n\n\n               Составил начальник участка Мамутина Э.Г. /подготовительный цех/________________", (DateTime.Today).ToString().Substring(0, 10));
                userHK_grid.FormGRID fg = new userHK_grid.FormGRID(string.Concat("CALL city.ceh_Ostatki(", pers, ",", perp, ",'GetOstCeh','period');"), "city", server, "GetOstCeh", "oste_ceh_fakt", top, itog, true, "0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0");
                fg.ShowDialog();
            }
        }
        public void GetOstCehSmall(int db_20100101, int de_20100102, string server)
        {
            int pers = db_20100101;
            int perp = de_20100102;
            if (pers == perp)
            {
                top = string.Concat("Движение сырья ", functionService.DATECOD.cod_to_date(pers));
                string itog = string.Concat("\n\n\n\n               Сдал _________________________________           Принял ____________________________________                         ", (DateTime.Today).ToString().Substring(0, 10));
                userHK_grid.FormGRID fg = new userHK_grid.FormGRID(string.Concat("CALL city.ceh_Ostatki(", pers, ",", perp, ",'GetOstCehSmall','day');"), "city", server, "GetOstCehSmall_day", "oste_ceh_fakt", top, itog, true, "0;0;0;0;0;0;0;0;0;0;0;0;0");
                fg.ShowDialog();
            }
            else
            {
                top = string.Concat("Движение сырья с ", functionService.DATECOD.cod_to_date(pers), " по ", functionService.DATECOD.cod_to_date(perp));
                string itog = string.Concat("\n\n\n\n               Составил начальник участка Мамутина Э.Г. /подготовительный цех/________________", (DateTime.Today).ToString().Substring(0, 10));
                userHK_grid.FormGRID fg = new userHK_grid.FormGRID(string.Concat("CALL city.ceh_Ostatki(", pers, ",", perp, ",'GetOstCehSmall','period');"), "city", server, "GetOstCehSmall", "oste_ceh_fakt", top, itog, true, "0;0;0;0;0;0;0;0;0;0;0;1;0");
                fg.ShowDialog();
            }
        }
        public void GetPrihCeh(int db_20100101, int de_20100102, string server)
        {
            int pers = db_20100101;
            int perp = de_20100102;
            if (perp == pers)
            {
                top = string.Concat("Приход со склада ", functionService.DATECOD.cod_to_date(pers));
            }
            else
            {
                top = string.Concat("Приход со склада за период с ", functionService.DATECOD.cod_to_date(pers), " по ", functionService.DATECOD.cod_to_date(perp));
            }
            string itog = string.Concat("\n\n\n\n               Составил начальник участка Мамутина Э.Г. /подготовительный цех/________________", (DateTime.Today).ToString().Substring(0, 10));
            userHK_grid.FormGRID fg = new userHK_grid.FormGRID(string.Concat("CALL city.ceh_Ostatki(", pers, ",", perp, ",'GetPrihCeh','period');"), "city", server, "GetPrihCeh", "GetPrihCeh", top, itog, false);
            fg.ShowDialog();
        }
        public void GetRasCeh(int db_20100101, int de_20100102, string server)
        {
            int pers = db_20100101;
            int perp = de_20100102;
            if (pers == perp)
            {
                top = string.Concat("Расход сырья ", functionService.DATECOD.cod_to_date(pers));
            }
            else
            {
                top = string.Concat("Расход сырья за период с ", functionService.DATECOD.cod_to_date(pers), " по ", functionService.DATECOD.cod_to_date(perp));
            }
            string itog = string.Concat("\n\n\n\n               Составил начальник участка Мамутина Э.Г. /подготовительный цех/________________", (DateTime.Today).ToString().Substring(0, 10));
            userHK_grid.FormGRID fg = new userHK_grid.FormGRID(string.Concat("CALL city.ceh_Ostatki(", pers, ",", perp, ",'GetRasCeh','period');"), "city", server, "GetRasCeh", "GetRasCeh", top, itog, false);
            fg.ShowDialog();
        }
        public void SetPrihRash(int db_20100101, int de_20100102, string server)
        {
            int pers = db_20100101;
            int perp = de_20100102;
            top = string.Concat("Приходы и расходы по акту и на другие линии ", functionService.DATECOD.cod_to_date(pers));
            string itog = string.Concat("\n\n\n\n               Составил начальник участка Мамутина Э.Г. /подготовительный цех/________________", (DateTime.Today).ToString().Substring(0, 10));
            userHK_grid.FormGRID fg = new userHK_grid.FormGRID("SELECT * FROM city.prih_rash_ceh WHERE dt = " + pers + " ORDER BY name", "city", server, "SetPrihRash", "prih_rash_ceh", top, itog, false);
            fg.ShowDialog();
        }
        public void proba1(int db_20100101, int de_20100102, string server)
        {
            int pers = db_20100101;
            int perp = de_20100102;
            if (perp == pers)
            {
                top = string.Concat("Приход со склада ", functionService.DATECOD.cod_to_date(pers));
            }
            else
            {
                top = string.Concat("Приход со склада за период с ", functionService.DATECOD.cod_to_date(pers), " по ", functionService.DATECOD.cod_to_date(perp));
            }
            string itog = string.Concat("\n\n\n\n               Составил начальник участка Мамутина Э.Г. /подготовительный цех/________________", (DateTime.Today).ToString().Substring(0, 10));
            userHK_grid.FormGRID fg = new userHK_grid.FormGRID("SELECT * FROM city.list_sc_copy ORDER BY name", "city", server, "list_sc_copy", "list_sc_copy", top, itog, false);
            fg.ShowDialog();
        }
        public void GetVipuskCeh(int db_20100101, int de_20100102, string server)
        {
            int pers = db_20100101;
            int perp = de_20100102;
            top = string.Concat("Итоговый выпуск продукции с ", functionService.DATECOD.cod_to_date(pers), " по ", functionService.DATECOD.cod_to_date(perp));
            string itog = string.Concat("\n\n\n\n               Составил начальник участка Мамутина Э.Г. /подготовительный цех/________________", (DateTime.Today).ToString().Substring(0, 10));
            userHK_grid.FormGRID fg = new userHK_grid.FormGRID(string.Concat("CALL city.ceh_Ostatki(", pers, ",", perp, ",'GetItogVip','period');"), "city", server, "GetItogVip", "GetItogVip", top, itog, false);
            fg.ShowDialog();
        }
        public void GetRashProdSirCeh(int db_20100101, int de_20100102, string server)
        {
            int pers = db_20100101;
            int perp = de_20100102;
            if (pers == perp)
            {
                top = string.Concat("Движение продукция/сырье ", functionService.DATECOD.cod_to_date(pers));
            }
            else
            {
                top = string.Concat("Движение продукция/сырье с ", functionService.DATECOD.cod_to_date(pers), " по ", functionService.DATECOD.cod_to_date(perp));
            }
            string itog = string.Concat("\n\n\n\n               Составил начальник участка Мамутина Э.Г. /подготовительный цех/________________", (DateTime.Today).ToString().Substring(0, 10));
            userHK_grid.FormGRID fg = new userHK_grid.FormGRID(string.Concat("CALL city.ceh_Ostatki(", pers, ",", perp, ",'GetItogVipProd','period');"), "city", server, "itogVipuskProdSir", "itogVipuskProdSir", top, itog, false);
            fg.ShowDialog();
        }
        public void GetRashSirProdCeh(int db_20100101, int de_20100102, string server)
        {
            int pers = db_20100101;
            int perp = de_20100102;
            if (pers == perp)
            {
                top = string.Concat("Движение сырье/продукция ", functionService.DATECOD.cod_to_date(pers));
            }
            else
            {
                top = string.Concat("Движение сырье/продукция с ", functionService.DATECOD.cod_to_date(pers), " по ", functionService.DATECOD.cod_to_date(perp));
            }
            string itog = string.Concat("\n\n\n\n               Составил начальник участка Мамутина Э.Г. /подготовительный цех/________________", (DateTime.Today).ToString().Substring(0, 10));
            userHK_grid.FormGRID fg = new userHK_grid.FormGRID(string.Concat("CALL city.ceh_Ostatki(", pers, ",", perp, ",'GetItogVipSir', 'period');"), "city", server, "itogVipuskSirProd", "itogVipuskSirProd", top, itog, false);
            fg.ShowDialog();
        }
        public void SetGroupSir(string server)
        {
            top = string.Concat("Группировка сырья");
            string itog = string.Concat("\n\n\n\n               Составил начальник участка Мамутина Э.Г. /подготовительный цех/________________", (DateTime.Today).ToString().Substring(0, 10));
            userHK_grid.FormGRID fg = new userHK_grid.FormGRID(string.Concat("CALL ceh_groupTehSir();"), "city", server, "SetGroupSir", "tov_listtovsootvskladcity", top, itog, true, "0;1;3");
            fg.ShowDialog();
        }
        public void GetListRecept(int cod_sc, string server)
        {
            top = string.Concat("Рецептура");
            string itog = string.Concat("\n\n\n\n               Составил начальник участка Мамутина Э.Г. /подготовительный цех/________________", (DateTime.Today).ToString().Substring(0, 10));
            userHK_grid.FormGRID fg = new userHK_grid.FormGRID(string.Concat("CALL ceh_getRecept(",cod_sc,");"), "city", server, "listRecept", "map_ceh", top, itog, true, "0;0;0;0;0;0");
            fg.ShowDialog();
        }

        public void ResetOstFakt(int db_20100101, int de_20100102, string server)
        {
            int pers = db_20100101;
            int perp = de_20100102;
            if (pers == perp)
            {
                functionService.connDB cnDB = new functionService.connDB();
                cnDB.setConn(server, "city");
                cnDB.co();
                cnDB.UpdateData(string.Concat("CALL city.ceh_Ostatki(", pers, ",", perp, ",'ResetFakt','day');"));
                cnDB.UpdateData(string.Concat("DELETE FROM city.oste_ceh_fakt WHERE dt = ", perp, ";"));
                cnDB.UpdateData(string.Concat("INSERT INTO city.oste_ceh_fakt(ct, name, kol, dt) ",
                    "SELECT ct, name, oste, ", perp, " FROM city.oste_ceh;"));
                cnDB.cc();
                MessageBox.Show("Фактические остатки обновлены");
            }
            else
            {
                //top = string.Concat("Движение сырья с ", functionService.DATECOD.cod_to_date(pers), " по ", functionService.DATECOD.cod_to_date(perp));
                //string itog = string.Concat("\n\n\n\n               Составил начальник участка Мамутина Э.Г. /подготовительный цех/________________", (DateTime.Today).ToString().Substring(0, 10));
                //userHK_grid.FormGRID fg = new userHK_grid.FormGRID(string.Concat("CALL city.ceh_Ostatki(", pers, ",", perp, ",'GetOstCeh','period');"), "city", server, "GetOstCeh", "oste_ceh_fakt", top, itog, true, "0;0;0;0;0;0;0;0;0;0;0;1;0;0;0");
                //fg.ShowDialog();
            }
        }




    }
}
